home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / dalla rivista / host contacted / jikes.lha / jikes-1.11 / src / jcl / jcl_bc_op.h < prev    next >
C/C++ Source or Header  |  1999-11-04  |  6KB  |  227 lines

  1. // $Id: jcl_bc_op.h,v 1.1 1999/11/04 18:48:03 shields Exp $
  2. //
  3. // This software is subject to the terms of the IBM Jikes Compiler
  4. // License Agreement available at the following URL:
  5. // http://www.ibm.com/research/jikes.
  6. // Copyright (C) 1996, 1998, International Business Machines Corporation
  7. // and others.  All Rights Reserved.
  8. // You must accept the terms of that agreement to use this software.
  9. //
  10. #ifndef jcl_bc_op_INCLUDED
  11. #define jcl_bc_op_INCLUDED
  12. #include "jcl_dynamic.h"
  13.  
  14. // code dealing with describing and listing byte code
  15.  enum operators {
  16.         OP_NOP=0x00,
  17.         OP_ACONST_NULL=0x01,
  18.         OP_ICONST_M1=0x02,
  19.         OP_ICONST_0=0x03,
  20.         OP_ICONST_1=0x04,
  21.         OP_ICONST_2=0x05,
  22.         OP_ICONST_3=0x06,
  23.         OP_ICONST_4=0x07,
  24.         OP_ICONST_5=0x08,
  25.         OP_LCONST_0=0x09,
  26.         OP_LCONST_1=0x0a,
  27.         OP_FCONST_0=0x0b,
  28.         OP_FCONST_1=0x0c,
  29.         OP_FCONST_2=0x0d,
  30.         OP_DCONST_0=0x0e,
  31.         OP_DCONST_1=0x0f,
  32.         OP_BIPUSH=0x10,
  33.         OP_SIPUSH=0x11,
  34.         OP_LDC=0x12,
  35.         OP_LDC_W=0x13,
  36.         OP_LDC2_W=0x14,
  37.         OP_ILOAD=0x15,
  38.         OP_LLOAD=0x16,
  39.         OP_FLOAD=0x17,
  40.         OP_DLOAD=0x18,
  41.         OP_ALOAD=0x19,
  42.         OP_ILOAD_0=0x1a,
  43.         OP_ILOAD_1=0x1b,
  44.         OP_ILOAD_2=0x1c,
  45.         OP_ILOAD_3=0x1d,
  46.         OP_LLOAD_0=0x1e,
  47.         OP_LLOAD_1=0x1f,
  48.         OP_LLOAD_2=0x20,
  49.         OP_LLOAD_3=0x21,
  50.         OP_FLOAD_0=0x22,
  51.         OP_FLOAD_1=0x23,
  52.         OP_FLOAD_2=0x24,
  53.         OP_FLOAD_3=0x25,
  54.         OP_DLOAD_0=0x26,
  55.         OP_DLOAD_1=0x27,
  56.         OP_DLOAD_2=0x28,
  57.         OP_DLOAD_3=0x29,
  58.         OP_ALOAD_0=0x2a,
  59.         OP_ALOAD_1=0x2b,
  60.         OP_ALOAD_2=0x2c,
  61.         OP_ALOAD_3=0x2d,
  62.         OP_IALOAD=0x2e,
  63.         OP_LALOAD=0x2f,
  64.         OP_FALOAD=0x30,
  65.         OP_DALOAD=0x31,
  66.         OP_AALOAD=0x32,
  67.         OP_BALOAD=0x33,
  68.         OP_CALOAD=0x34,
  69.         OP_SALOAD=0x35,
  70.         OP_ISTORE=0x36,
  71.         OP_LSTORE=0x37,
  72.         OP_FSTORE=0x38,
  73.         OP_DSTORE=0x39,
  74.         OP_ASTORE=0x3a,
  75.         OP_ISTORE_0=0x3b,
  76.         OP_ISTORE_1=0x3c,
  77.         OP_ISTORE_2=0x3d,
  78.         OP_ISTORE_3=0x3e,
  79.         OP_LSTORE_0=0x3f,
  80.         OP_LSTORE_1=0x40,
  81.         OP_LSTORE_2=0x41,
  82.         OP_LSTORE_3=0x42,
  83.         OP_FSTORE_0=0x43,
  84.         OP_FSTORE_1=0x44,
  85.         OP_FSTORE_2=0x45,
  86.         OP_FSTORE_3=0x46,
  87.         OP_DSTORE_0=0x47,
  88.         OP_DSTORE_1=0x48,
  89.         OP_DSTORE_2=0x49,
  90.         OP_DSTORE_3=0x4a,
  91.         OP_ASTORE_0=0x4b,
  92.         OP_ASTORE_1=0x4c,
  93.         OP_ASTORE_2=0x4d,
  94.         OP_ASTORE_3=0x4e,
  95.         OP_IASTORE=0x4f,
  96.         OP_LASTORE=0x50,
  97.         OP_FASTORE=0x51,
  98.         OP_DASTORE=0x52,
  99.         OP_AASTORE=0x53,
  100.         OP_BASTORE=0x54,
  101.         OP_CASTORE=0x55,
  102.         OP_SASTORE=0x56,
  103.         OP_POP=0x57,
  104.         OP_POP2=0x58,
  105.         OP_DUP=0x59,
  106.         OP_DUP_X1=0x5a,
  107.         OP_DUP_X2=0x5b,
  108.         OP_DUP2=0x5c,
  109.         OP_DUP2_X1=0x5d,
  110.         OP_DUP2_X2=0x5e,
  111.         OP_SWAP=0x5f,
  112.         OP_IADD=0x60,
  113.         OP_LADD=0x61,
  114.         OP_FADD=0x62,
  115.         OP_DADD=0x63,
  116.         OP_ISUB=0x64,
  117.         OP_LSUB=0x65,
  118.         OP_FSUB=0x66,
  119.         OP_DSUB=0x67,
  120.         OP_IMUL=0x68,
  121.         OP_LMUL=0x69,
  122.         OP_FMUL=0x6a,
  123.         OP_DMUL=0x6b,
  124.         OP_IDIV=0x6c,
  125.         OP_LDIV=0x6d,
  126.         OP_FDIV=0x6e,
  127.         OP_DDIV=0x6f,
  128.         OP_IREM=0x70,
  129.         OP_LREM=0x71,
  130.         OP_FREM=0x72,
  131.         OP_DREM=0x73,
  132.         OP_INEG=0x74,
  133.         OP_LNEG=0x75,
  134.         OP_FNEG=0x76,
  135.         OP_DNEG=0x77,
  136.         OP_ISHL=0x78,
  137.         OP_LSHL=0x79,
  138.         OP_ISHR=0x7a,
  139.         OP_LSHR=0x7b,
  140.         OP_IUSHR=0x7c,
  141.         OP_LUSHR=0x7d,
  142.         OP_IAND=0x7e,
  143.         OP_LAND=0x7f,
  144.         OP_IOR=0x80,
  145.         OP_LOR=0x81,
  146.         OP_IXOR=0x82,
  147.         OP_LXOR=0x83,
  148.         OP_IINC=0x84,
  149.         OP_I2L=0x85,
  150.         OP_I2F=0x86,
  151.         OP_I2D=0x87,
  152.         OP_L2I=0x88,
  153.         OP_L2F=0x89,
  154.         OP_L2D=0x8a,
  155.         OP_F2I=0x8b,
  156.         OP_F2L=0x8c,
  157.         OP_F2D=0x8d,
  158.         OP_D2I=0x8e,
  159.         OP_D2L=0x8f,
  160.         OP_D2F=0x90,
  161.         OP_I2B=0x91,
  162.         OP_I2C=0x92,
  163.         OP_I2S=0x93,
  164.         OP_LCMP=0x94,
  165.         OP_FCMPL=0x95,
  166.         OP_FCMPG=0x96,
  167.         OP_DCMPL=0x97,
  168.         OP_DCMPG=0x98,
  169.         OP_IFEQ=0x99,
  170.         OP_IFNE=0x9a,
  171.         OP_IFLT=0x9b,
  172.         OP_IFGE=0x9c,
  173.         OP_IFGT=0x9d,
  174.         OP_IFLE=0x9e,
  175.         OP_IF_ICMPEQ=0x9f,
  176.         OP_IF_ICMPNE=0xa0,
  177.         OP_IF_ICMPLT=0xa1,
  178.         OP_IF_ICMPGE=0xa2,
  179.         OP_IF_ICMPGT=0xa3,
  180.         OP_IF_ICMPLE=0xa4,
  181.         OP_IF_ACMPEQ=0xa5,
  182.         OP_IF_ACMPNE=0xa6,
  183.         OP_GOTO=0xa7,
  184.         OP_JSR=0xa8,
  185.         OP_RET=0xa9,
  186.         OP_TABLESWITCH=0xaa,
  187.         OP_LOOKUPSWITCH=0xab,
  188.         OP_IRETURN=0xac,
  189.         OP_LRETURN=0xad,
  190.         OP_FRETURN=0xae,
  191.         OP_DRETURN=0xaf,
  192.         OP_ARETURN=0xb0,
  193.         OP_RETURN=0xb1,
  194.         OP_GETSTATIC=0xb2,
  195.         OP_PUTSTATIC=0xb3,
  196.         OP_GETFIELD=0xb4,
  197.         OP_PUTFIELD=0xb5,
  198.         OP_INVOKEVIRTUAL=0xb6,
  199.         OP_INVOKENONVIRTUAL=0xb7,
  200.         OP_INVOKESTATIC=0xb8,
  201.         OP_INVOKEINTERFACE=0xb9,
  202.         OP_XXXUNUSEDXXX=0xba,
  203.         OP_NEW=0xbb,
  204.         OP_NEWARRAY=0xbc,
  205.         OP_ANEWARRAY=0xbd,
  206.         OP_ARRAYLENGTH=0xbe,
  207.         OP_ATHROW=0xbf,
  208.         OP_CHECKCAST=0xc0,
  209.         OP_INSTANCEOF=0xc1,
  210.         OP_MONITORENTER=0xc2,
  211.         OP_MONITOREXIT=0xc3,
  212.         OP_WIDE=0xc4,
  213.         OP_MULTIANEWARRAY=0xc5,
  214.         OP_IFNULL=0xc6,
  215.         OP_IFNONNULL=0xc7,
  216.         OP_GOTO_W=0xc8,
  217.         OP_JSR_W=0xc9,
  218.         OP_SOFTWARE=0xfe,
  219.         OP_HARDWARE=0xff
  220. };
  221. extern void opdesc (int opc, char **name, char **desc);
  222. #include  "jcl_dynamic.h"
  223. #include  "jcl_class.h"
  224. extern void  opdmp(DynamicArray<cp_info *>& constant_pool, DynamicArray<u1>& code);
  225.  
  226. #endif
  227.